package cn.wh.service;

import cn.wh.netty.pojo.Msg;
import cn.wh.pojo.ChatMsg;
import cn.wh.pojo.FriendsRequest;
import cn.wh.pojo.MyFriends;
import cn.wh.pojo.User;
import cn.wh.vo.MyFriendsVO;
import cn.wh.vo.UserVo;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author: HongXiaoHan
 * @Description
 * @Date: 2021/2/4 18:39
 */
public interface UserServer {

    User getUserById(String id);

    /**
     * 根据用户名查找指定对象
     *
     * @param username
     * @return
     */
    User queryUserNameIsExit(String username);

    /**
     * 保存
     *
     * @param user
     * @return
     */
    User insert(User user);

    /**
     * 修改用户数据
     *
     * @param user
     * @return
     */
    User updateUser(User user);

    UserVo queryAllUser(String username);

    int queryToMyFriend(String sendUserId, String acceptUserId);

    int sendFriendRequest(String sendUserId, String acceptUserId);


    int isSendFriendRequest(String sendUserId, String acceptUserId);

    int queryRequestMsgCount(String id);

    List<UserVo> queryRequestMsgList(String id);


    //处理好友请求-忽略好友请求
    void deleteFriendRequest(FriendsRequest friendsRequest);


    List<MyFriendsVO> queryMyFriends(String userId);

    //添加好友数据
    void insertFriendInfo(String accpetUserId, String sendUserId);


    //保存用户聊天消息
    String saveMsg(Msg msg);

    void signMessage(String msgId);

    List<ChatMsg> queryUnSignMsg(String myId);
}
